Systematische Integration von Refactoring und Test im Extreme Programming
نویسندگان
چکیده
Refactoring und Testen bilden wesentliche Bausteine des Extreme Programming. In diesem Beitrag wird der konzeptionelle Zusammenhang zwischen beiden Praktiken herausgearbeitet. Insbesondere wird die Abhängigkeit zwischen der Durchführung eines Refactorings und den sich daraus ergebenden notwendigen Änderungen der Testumgebung betrachtet. Durch eine geeignete Typisierung von Refactorings werden diese Änderungen übersichtlich zusammengefasst und beschrieben. Die Beschreibung bildet die Grundlage für die Gestaltung eines systematischen Vorgehens, welches in weiten Teilen durch Werkzeuge unterstützt und damit effizient in der Entwicklung eingesetzt werden kann. 1 Refactoring und Testen in agilen Prozessen Agile Entwicklungsvorgehen versuchen, Flexibilität während der Entwicklung durch einen Verzicht auf eine aufwändige Vorplanung zu gewinnen [HR02]. Sie können kurz und prägnant beschrieben werden, da wesentliche Teile ihrer Ausgestaltung den ausführenden Entwicklern überlassen werden. In dem hier vorliegenden Beitrag wird am Zusammenwirken zweier Praktiken des Extreme Programming (XP) [Be00] gezeigt, dass für agile Vorgehensweisen trotzdem sehr wohl präzise und damit durch Werkzeuge unterstützbare technische Abläufe formuliert werden können. Generell werden für agile Entwicklungsvorgehen u.a. die Einfachheit der erstellten Software und die Berücksichtigung von sich ständig ändernden Anforderungen gefordert [Ma01]. Die Umsetzung dieser Forderungen führt dazu, dass die entstehende Software während der Entwicklung laufend überarbeitet und umstrukturiert werden muss. Refactoring [Op92, Fo00] bezeichnet das technische Vorgehen, um unter Erhaltung der realisierten Funktionalität qualitativ bessere Softwarestrukturen zu gestalten. Refactoring bildet eine zentrale Technik für agile Vorgehensweisen, insbesondere auch für XP [Be00]. Werden jedoch in XP durch Refactoring Schnittstellen von Klassen oder Methoden verändert, so scheitern anschließend die zuvor im Rahmen der ebenfalls zentralen Praktik Test-First [Be00, Be03] erstellten und eingesetzten Testfälle. Refactoring erfordert daher neben der Änderung der Software in vielen Fällen auch eine Anpassung der zugehörigen Tests.
منابع مشابه
Educational Effect of a Student Competition with Self-Driving Cars on Selected Software Engineering Topics
In der modellbasierten Entwicklung eingebetteter Software, insbesondere im Automobilbereich, wird Matlab/Simulink verbreitet eingesetzt. Im Rahmen der Modellerstellung, -wartung und -pflege häufig benötigte Änderungen an den Modellen, wie die Restrukturierung der Modellstruktur und Generierung von Modellkonstrukten, werden überlicherweise manuell, mit den vorhandenen Modellierungsmitteln des Si...
متن کاملDagstuhl-Workshop MBEES: Modellbasierte Entwicklung eingebetteter Systeme IX, Schloss Dagstuhl, Germany, April 24-26, 2013, Tagungsband Modellbasierte Entwicklung eingebetteter Systeme
In der modellbasierten Entwicklung eingebetteter Software, insbesondere im Automobilbereich, wird Matlab/Simulink verbreitet eingesetzt. Im Rahmen der Modellerstellung, -wartung und -pflege häufig benötigte Änderungen an den Modellen, wie die Restrukturierung der Modellstruktur und Generierung von Modellkonstrukten, werden überlicherweise manuell, mit den vorhandenen Modellierungsmitteln des Si...
متن کاملAgilität und Prozessreife: Erfüllbarkeit der CMMI-Prozessgebiete durch agile Methoden am Beispiel von XP
In den letzten Jahren wurden agile Methoden wie eXtreme Programming zunehmend populär. Parallel dazu stützen sich mehr und mehr Unternehmen auf Reifegradmodelle, um ihre eigenen Prozesse oder die der Zulieferer zu analysieren und zu verbessern, nachdem sich immer mehr die Ansicht durchsetzt, dass viele Projektmisserfolge undisziplinierten, inkonsistenten Prozessen zugeschrieben werden können. I...
متن کاملIntegration von Wissensmanagement und eLearning im Rahmen der WIESEL-Frameworkarchitektur
Das Ziel des Projektes WIESEL besteht in der Schaffung einer modularen und intelligenten, wissensbasierten eLearning-Lösung, auf deren Grundlage der Wissensaustausch und die Generierung neuen Wissens möglich werden. Durch die flexible Kopplung von Wissensmanagementund eLearning-Komponenten im Rahmen eines integrierten Systems wird das eigenverantwortliche, personalisierte und situationsbzw. pro...
متن کاملExpertise bewerben und finden im Social Semantic Web
Zusammenfassung Im vorliegenden Beitrag diskutieren wir Rahmenbedingungen zur Kombination, Wiederverwendung und Erweiterung bestehender RDF Vokabulare im Social Semantic Web. Hierbei konzentrieren wir uns auf das Anwendungsszenario des Auffindens und Bewerbens von Experten im Web oder Intranet. Wir präsentieren, wie RDF Vokabulare mit zunehmendem Verbreitungsgrad im Semantic Web einerseits und ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2004